import {defineConfig} from 'vite'
import vue from '@vitejs/plugin-vue'
import {join} from "path"
// 自动导入
import AutoImport from 'unplugin-auto-import/vite'
import Components from 'unplugin-vue-components/vite'
// 自动导入 Element Plus 组件
import {ElementPlusResolver} from 'unplugin-vue-components/resolvers'
import ElementPlus from 'unplugin-element-plus/vite';
// electron 插件
import electron from 'vite-plugin-electron'

// https://vite.dev/config/
export default defineConfig({
    plugins: [
        vue(),// 启用 Vue 3 插件
        ElementPlus({useSource: true}),  // 启用 Element Plus 按需加载插件
        AutoImport({
            imports: ['vue', 'vue-router'], // 自动导入vue 和 vue-router 相关函数
            dts: 'src/types/auto-imports.d.ts', // 生成auto-imports.d.ts 全局声明
            resolvers: [ElementPlusResolver()], // 自动导入Element Plus 相关函数
        }),
        Components({
            resolvers: [ElementPlusResolver()], // 自动导入Element Plus 组件
            dts: 'src/types/components.d.ts', // 生成components.d.ts 全局声明
        }),
        electron({
            // 主进程入口文件
            entry: ["src-electron/main.ts", "src-electron/preload.ts"],
        })
    ],
    resolve: {
        alias: {
            '@': join(__dirname, "src")
        },
    },
})
